package com.tinckay.service;

import com.tinckay.entity.form.StorehousePlanForm;
import com.tinckay.entity.po.StorehousePlan;
import com.baomidou.mybatisplus.extension.service.IService;
import io.netty.channel.ChannelHandler;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 仓体浇筑计划 服务类
 * </p>
 *
 * @author Jean
 * @since 2018-11-06
 */
public interface StorehousePlanService extends IService<StorehousePlan> {

    /**
     * 列表查询
     *
     * @param barnNo
     * @param pumpCode
     * @param planTime
     * @param storeState
     * @return
     */
    List<StorehousePlan> findList(String barnNo, String pumpCode, String planTime, Integer storeState);


    /**
     * 排序
     *
     * @param planId
     * @param pourNo
     */
    void changePourNo(long planId, int pourNo);

    /**
     * 浇筑计划阶段耗时统计
     *
     * @param storeCode
     * @return
     */
    List<Map<String, Object>> countPlan(List<String> storeCode);

    /**
     * 获取浇筑计划详情信息
     *
     * @param storeCode
     * @return
     */
    StorehousePlan storehousePlanInfo(String storeCode);


    /**
     * 按年月日统计已完成浇筑浇筑计划信息
     *
     * @param statisticalFlag
     * @param startPlanTime
     * @param endPlanTime
     * @return
     */
    List<Map<String, Object>> statistical(int statisticalFlag, String startPlanTime, String endPlanTime);

    /**
     * 现场添加浇筑计划
     * @param form
     * @return
     */
    StorehousePlan buildStorehousePan(StorehousePlanForm form);
}
